1. Field of the Invention
The present invention relates to a computer program product, system, and method for determining server write activity levels to use to adjust write cache size.
2. Description of the Related Art
Enterprise storage servers provide storage for multiple connected servers or hosts. Enterprise storage includes a write cache to cache writes from the connected servers to improve write performance. Complete is returned to the servers in response to writing the data to the write-cache and the data written to the write cache is subsequently asynchronously destaged to storage. The host is provided complete before the data is destaged to storage to avoid delays to host processing. For write-caching to be most effective, it is important that data be destaged quickly enough so the write-cache does not become full. In case the cache becomes full, new server or host writes are delayed until space in the write-cache is made available by destaging data to storage. Such delays can take a long time to resolve—perhaps 100 ms or longer—because of the protocol to start and stop the sending of stores, the time lag to physically send signals and data between host and storage, and the delay in activity caused by doing so. Such delays are several orders of magnitude higher than the usual 1 ms time to complete a store when the storage is not delaying host writes.
Server performance suffers if there are continual write delays due to a full write cache. Further, the server energy expenditure and resulting cost to execute the job can increase when the server must wait for milliseconds before sending further writes. Therefore, performance is improved, energy is decreased, and cost is lowered when the write-cache is large enough such that the storage server does not have to delay returning complete to server writes.
On the other hand, when the write-cache is too large, more power than necessary is expended to maintain the large write cache, which must be duplicated into non-volatile storage in a highly-reliable storage systems, essentially doubling the energy expenditure of the write-cache. When there is no need for a large write-cache, parts of the non-volatile write-cache could be clock-gated or powered-down, thereby reducing energy costs.
There is a need in the art for improved techniques for managing the write cache.